package it.polimi.authentication.ejb.usermanagement;

import it.polimi.authentication.ejb.usermanagement.dto.EscursioneDTO;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.*;

import java.util.List;


/**
 * The persistent class for the escursione database table.
 * 
 */
@Entity
@NamedQueries({
@NamedQuery(name="Escursione.findAll", query="SELECT e FROM Escursione e WHERE e.Disponibile = true"),
@NamedQuery(name="Escursione.findThis", query="SELECT e FROM Escursione e WHERE e.nomeEscursione= :nomeEsc"),
@NamedQuery(name="Escursione.findEscursioneInCity", query="SELECT e FROM Escursione e WHERE e.cittaPartenza= :city and e.Disponibile = true"),
@NamedQuery(name="Escursione.findPrezzo", query="SELECT e.prezzo FROM Escursione e WHERE e.nomeEscursione= :nomeEsc"),
@NamedQuery(name="Escursione.findMezzo", query="SELECT e.mezzo_utilizzato FROM Escursione e WHERE e.nomeEscursione= :nomeEsc")
})
public class Escursione implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private String nomeEscursione;

	private String cittaPartenza;
	private String cittaEscursione;

	private String mezzo_utilizzato;
	
    private Boolean Disponibile;
	
	private BigDecimal prezzo;

	//bi-directional many-to-one association to PacchettoEscursione
	/*@OneToMany(mappedBy="escursione")
	private List<PacchettoEscursione> pacchettoEscursiones;*/

	public Boolean getDisponibile() {
		return Disponibile;
	}

	public void setDisponibile(Boolean disponibile) {
		Disponibile = disponibile;
	}

	public BigDecimal getPrezzo() {
		return prezzo;
	}

	public void setPrezzo(BigDecimal prezzo) {
		this.prezzo = prezzo;
	}

	public Escursione() {
	}
	
	public Escursione(EscursioneDTO excursion) {
		super();
		this.nomeEscursione = excursion.getNome();
		this.cittaPartenza = excursion.getCittaP();
		this.cittaEscursione = excursion.getCittaE();
		this.mezzo_utilizzato = excursion.getMezzo();
		this.prezzo = excursion.getPrezzo();
	}

	public String getNomeEscursione() {
		return this.nomeEscursione;
	}

	public void setNomeEscursione(String nomeEscursione) {
		this.nomeEscursione = nomeEscursione;
	}

	public String getCittaPartenza() {
		return this.cittaPartenza;
	}

	public void setCittaPartenza(String citta) {
		this.cittaPartenza = citta;
	}
	
	public String getCittaEscursione() {
		return this.cittaEscursione;
	}

	public void setCittaEscursione(String citta) {
		this.cittaEscursione = citta;
	}

	public String getMezzo_utilizzato() {
		return this.mezzo_utilizzato;
	}

	public void setMezzo_utilizzato(String mezzo_utilizzato) {
		this.mezzo_utilizzato = mezzo_utilizzato;
	}

	/*public List<PacchettoEscursione> getPacchettoEscursiones() {
		return this.pacchettoEscursiones;
	}

	public void setPacchettoEscursiones(List<PacchettoEscursione> pacchettoEscursiones) {
		this.pacchettoEscursiones = pacchettoEscursiones;
	}

	public PacchettoEscursione addPacchettoEscursione(PacchettoEscursione pacchettoEscursione) {
		getPacchettoEscursiones().add(pacchettoEscursione);
		pacchettoEscursione.setEscursione(this);

		return pacchettoEscursione;
	}

	public PacchettoEscursione removePacchettoEscursione(PacchettoEscursione pacchettoEscursione) {
		getPacchettoEscursiones().remove(pacchettoEscursione);
		pacchettoEscursione.setEscursione(null);

		return pacchettoEscursione;
	}*/

}